package com.skytech.model;

import java.io.Serializable;
import javax.persistence.*;
import java.util.List;


/**
 * The persistent class for the cidade database table.
 * 
 */
@Entity
@NamedQuery(name="Cidade.findAll", query="SELECT c FROM Cidade c")
public class Cidade implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	private int id;

	private String nome;

	//bi-directional many-to-one association to Estado
	@ManyToOne
	@JoinColumn(name="idEstado")
	private Estado estado;

	//bi-directional many-to-one association to Pessoafisica
	@OneToMany(mappedBy="cidade")
	private List<Pessoafisica> pessoafisicas;

	//bi-directional many-to-one association to Pessoajuridica
	@OneToMany(mappedBy="cidade")
	private List<Pessoajuridica> pessoajuridicas;

	public Cidade() {
	}

	public int getId() {
		return this.id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getNome() {
		return this.nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public Estado getEstado() {
		return this.estado;
	}

	public void setEstado(Estado estado) {
		this.estado = estado;
	}

	public List<Pessoafisica> getPessoafisicas() {
		return this.pessoafisicas;
	}

	public void setPessoafisicas(List<Pessoafisica> pessoafisicas) {
		this.pessoafisicas = pessoafisicas;
	}

	public Pessoafisica addPessoafisica(Pessoafisica pessoafisica) {
		getPessoafisicas().add(pessoafisica);
		pessoafisica.setCidade(this);

		return pessoafisica;
	}

	public Pessoafisica removePessoafisica(Pessoafisica pessoafisica) {
		getPessoafisicas().remove(pessoafisica);
		pessoafisica.setCidade(null);

		return pessoafisica;
	}

	public List<Pessoajuridica> getPessoajuridicas() {
		return this.pessoajuridicas;
	}

	public void setPessoajuridicas(List<Pessoajuridica> pessoajuridicas) {
		this.pessoajuridicas = pessoajuridicas;
	}

	public Pessoajuridica addPessoajuridica(Pessoajuridica pessoajuridica) {
		getPessoajuridicas().add(pessoajuridica);
		pessoajuridica.setCidade(this);

		return pessoajuridica;
	}

	public Pessoajuridica removePessoajuridica(Pessoajuridica pessoajuridica) {
		getPessoajuridicas().remove(pessoajuridica);
		pessoajuridica.setCidade(null);

		return pessoajuridica;
	}

}